package com.xunk.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xunk.common.core.annotation.Excel;
import com.xunk.common.core.web.domain.BaseEntity;

/**
 * 设备基础信息，按类别存储对象 sys_device_base_info
 *
 * @author xunk
 * @date 2021-04-25
 */
public class SysDeviceBaseInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 设备大类名称，如中控屏
     */
    @Excel(name = "设备大类名称，如中控屏")
    private String baseName;

    /**
     * 设备类型，如网关、水浸传感器
     */
    @Excel(name = "设备类型，如网关、水浸传感器")
    private String baseType;

    /**
     * 设备类型编码，如gateway
     */
    @Excel(name = "设备类型编码，如gateway")
    private String baseTypeCode;

    /**
     * 设备来源，0 家庭设备, 1 机电设备
     */
    @Excel(name = "设备来源，0 家庭设备, 1 机电设备")
    private Integer baseSource;

    /**
     * 设备类别 1 网关 2 网关子设备 3 wifi
     */
    @Excel(name = "设备类别 1 网关 2 网关子设备 3 wifi")
    private Integer baseCategory;

    /**
     * 设备厂商，如如影
     */
    @Excel(name = "设备厂商，如如影")
    private String supplier;

    /**
     * 供应商编码， 如ruying
     */
    @Excel(name = "供应商编码， 如ruying")
    private String supplierCode;

    /**
     * 厂商编号，如RY-3221KMR
     */
    @Excel(name = "厂商编号，如RY-3221KMR")
    private String supplierNumber;

    @Excel(name = "规格型号，接入设备时的标识")
    private String specModel;

    /**
     * 是否停用
     */
    private Boolean isDisable;
    /**
     * 是否发布
     */
    private Boolean isPublish;
    /**
     * 联网方式
     */
    private String networkingType;
    /**
     * 产品定义模型
     */
    private String candidateModel;
    /**
     * 头像
     */
    private String icon;

    /**
     * 消息协议
     */
    private String messageProtocol;

    /**
     * 传输协议
     */
    private String transportProtocol;

    /**
     * 说明
     */
    private String introduction;

    private Long deviceCount;

    /**
     * 是否作为场景触发设备
     * 0：不可作为触发设备 1：可作为触发设备
     */
    private Integer isTrigger;

    public Integer getIsTrigger() {
        return isTrigger;
    }

    public void setIsTrigger(Integer isTrigger) {
        this.isTrigger = isTrigger;
    }

    public String getMessageProtocol() {
        return messageProtocol;
    }

    public void setMessageProtocol(String messageProtocol) {
        this.messageProtocol = messageProtocol;
    }

    public String getTransportProtocol() {
        return transportProtocol;
    }

    public void setTransportProtocol(String transportProtocol) {
        this.transportProtocol = transportProtocol;
    }

    public String getIntroduction() {
        return introduction;
    }

    public void setIntroduction(String introduction) {
        this.introduction = introduction;
    }

    public Long getDeviceCount() {
        return deviceCount;
    }

    public void setDeviceCount(Long deviceCount) {
        this.deviceCount = deviceCount;
    }

    public Boolean getDisable() {
        return isDisable;
    }

    public void setDisable(Boolean disable) {
        isDisable = disable;
    }

    public Boolean getPublish() {
        return isPublish;
    }

    public void setPublish(Boolean publish) {
        isPublish = publish;
    }

    public String getNetworkingType() {
        return networkingType;
    }

    public void setNetworkingType(String networkingType) {
        this.networkingType = networkingType;
    }

    public String getCandidateModel() {
        return candidateModel;
    }

    public void setCandidateModel(String candidateModel) {
        this.candidateModel = candidateModel;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public String getSpecModel() {
        return specModel;
    }

    public void setSpecModel(String specModel) {
        this.specModel = specModel;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setBaseName(String baseName) {
        this.baseName = baseName;
    }

    public String getBaseName() {
        return baseName;
    }

    public void setBaseType(String baseType) {
        this.baseType = baseType;
    }

    public String getBaseType() {
        return baseType;
    }

    public void setBaseTypeCode(String baseTypeCode) {
        this.baseTypeCode = baseTypeCode;
    }

    public String getBaseTypeCode() {
        return baseTypeCode;
    }

    public void setBaseSource(Integer baseSource) {
        this.baseSource = baseSource;
    }

    public Integer getBaseSource() {
        return baseSource;
    }

    public void setBaseCategory(Integer baseCategory) {
        this.baseCategory = baseCategory;
    }

    public Integer getBaseCategory() {
        return baseCategory;
    }

    public void setSupplier(String supplier) {
        this.supplier = supplier;
    }

    public String getSupplier() {
        return supplier;
    }

    public void setSupplierCode(String supplierCode) {
        this.supplierCode = supplierCode;
    }

    public String getSupplierCode() {
        return supplierCode;
    }

    public void setSupplierNumber(String supplierNumber) {
        this.supplierNumber = supplierNumber;
    }

    public String getSupplierNumber() {
        return supplierNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("baseName", getBaseName())
                .append("baseType", getBaseType())
                .append("baseTypeCode", getBaseTypeCode())
                .append("baseSource", getBaseSource())
                .append("baseCategory", getBaseCategory())
                .append("supplier", getSupplier())
                .append("supplierCode", getSupplierCode())
                .append("supplierNumber", getSupplierNumber())
                .append("specModel", getSpecModel())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
